<?php 
class MyDatetime{
   public static function getchinesedate($year,$month,$day){

   $cdate_monthdata=array(
   0=>array(8,0,0,0,0,0,0,0,0,0,0,0,29,30,7,1),
   1=>array(0,29,30,29,29,30,29,30,29,30,30,30,29,0,8,2),
   2=>array(0,30,29,30,29,29,30,29,30,29,30,30,30,0,9,3),
   3=>array(5,29,30,29,30,29,29,30,29,29,30,30,29,30,10,4),
   4=>array(0,30,30,29,30,29,29,30,29,29,30,30,29,0,1,5),
   5=>array(0,30,30,29,30,30,29,29,30,29,30,29,30,0,2,6),
   6=>array(4,29,30,30,29,30,29,30,29,30,29,30,29,30,3,7),
   7=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,4,8),
   8=>array(0,30,29,29,30,30,29,30,29,30,30,29,30,0,5,9),
   9=>array(2,29,30,29,29,30,29,30,29,30,30,30,29,30,6,10),
   10=>array(0,29,30,29,29,30,29,30,29,30,30,30,29,0,7,11),
   11=>array(6,30,29,30,29,29,30,29,29,30,30,29,30,30,8,12),
   12=>array(0,30,29,30,29,29,30,29,29,30,30,29,30,0,9,1),
   13=>array(0,30,30,29,30,29,29,30,29,29,30,29,30,0,10,2),
   14=>array(5,30,30,29,30,29,30,29,30,29,30,29,29,30,1,3),
   15=>array(0,30,29,30,30,29,30,29,30,29,30,29,30,0,2,4),
   16=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,3,5),
   17=>array(2,30,29,29,30,29,30,30,29,30,30,29,30,29,4,6),
   18=>array(0,30,29,29,30,29,30,29,30,30,29,30,30,0,5,7),
   19=>array(7,29,30,29,29,30,29,29,30,30,29,30,30,30,6,8),
   20=>array(0,29,30,29,29,30,29,29,30,30,29,30,30,0,7,9),
   21=>array(0,30,29,30,29,29,30,29,29,30,29,30,30,0,8,10),
   22=>array(5,30,29,30,30,29,29,30,29,29,30,29,30,30,9,11),
   23=>array(0,29,30,30,29,30,29,30,29,29,30,29,30,0,10,12),
   24=>array(0,29,30,30,29,30,30,29,30,29,30,29,29,0,1,1),
   25=>array(4,30,29,30,29,30,30,29,30,30,29,30,29,30,2,2),
   26=>array(0,29,29,30,29,30,29,30,30,29,30,30,29,0,3,3),
   27=>array(0,30,29,29,30,29,30,29,30,29,30,30,30,0,4,4),
   28=>array(2,29,30,29,29,30,29,29,30,29,30,30,30,30,5,5),
   29=>array(0,29,30,29,29,30,29,29,30,29,30,30,30,0,6,6),
   30=>array(6,29,30,30,29,29,30,29,29,30,29,30,30,29,7,7),
   31=>array(0,30,30,29,30,29,30,29,29,30,29,30,29,0,8,8),
   32=>array(0,30,30,30,29,30,29,30,29,29,30,29,30,0,9,9),
   33=>array(5,29,30,30,29,30,30,29,30,29,30,29,29,30,10,10),
   34=>array(0,29,30,29,30,30,29,30,29,30,30,29,30,0,1,11),
   35=>array(0,29,29,30,29,30,29,30,30,29,30,30,29,0,2,12),
   36=>array(3,30,29,29,30,29,29,30,30,29,30,30,30,29,3,1),
   37=>array(0,30,29,29,30,29,29,30,29,30,30,30,29,0,4,2),
   38=>array(7,30,30,29,29,30,29,29,30,29,30,30,29,30,5,3),
   39=>array(0,30,30,29,29,30,29,29,30,29,30,29,30,0,6,4),
   40=>array(0,30,30,29,30,29,30,29,29,30,29,30,29,0,7,5),
   41=>array(6,30,30,29,30,30,29,30,29,29,30,29,30,29,8,6),
   42=>array(0,30,29,30,30,29,30,29,30,29,30,29,30,0,9,7),
   43=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,10,8),
   44=>array(4,30,29,30,29,30,29,30,29,30,30,29,30,30,1,9),
   45=>array(0,29,29,30,29,29,30,29,30,30,30,29,30,0,2,10),
   46=>array(0,30,29,29,30,29,29,30,29,30,30,29,30,0,3,11),
   47=>array(2,30,30,29,29,30,29,29,30,29,30,29,30,30,4,12),
   48=>array(0,30,29,30,29,30,29,29,30,29,30,29,30,0,5,1),
   49=>array(7,30,29,30,30,29,30,29,29,30,29,30,29,30,6,2),
   50=>array(0,29,30,30,29,30,30,29,29,30,29,30,29,0,7,3),
   51=>array(0,30,29,30,30,29,30,29,30,29,30,29,30,0,8,4),
   52=>array(5,29,30,29,30,29,30,29,30,30,29,30,29,30,9,5),
   53=>array(0,29,30,29,29,30,30,29,30,30,29,30,29,0,10,6),
   54=>array(0,30,29,30,29,29,30,29,30,30,29,30,30,0,1,7),
   55=>array(3,29,30,29,30,29,29,30,29,30,29,30,30,30,2,8),
   56=>array(0,29,30,29,30,29,29,30,29,30,29,30,30,0,3,9),
   57=>array(8,30,29,30,29,30,29,29,30,29,30,29,30,29,4,10),
   58=>array(0,30,30,30,29,30,29,29,30,29,30,29,30,0,5,11),
   59=>array(0,29,30,30,29,30,29,30,29,30,29,30,29,0,6,12),
   60=>array(6,30,29,30,29,30,30,29,30,29,30,29,30,29,7,1),
   61=>array(0,30,29,30,29,30,29,30,30,29,30,29,30,0,8,2),
   62=>array(0,29,30,29,29,30,29,30,30,29,30,30,29,0,9,3),
   63=>array(4,30,29,30,29,29,30,29,30,29,30,30,30,29,10,4),
   64=>array(0,30,29,30,29,29,30,29,30,29,30,30,30,0,1,5),
   65=>array(0,29,30,29,30,29,29,30,29,29,30,30,29,0,2,6),
   66=>array(3,30,30,30,29,30,29,29,30,29,29,30,30,29,3,7),
   67=>array(0,30,30,29,30,30,29,29,30,29,30,29,30,0,4,8),
   68=>array(7,29,30,29,30,30,29,30,29,30,29,30,29,30,5,9),
   69=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,6,10),
   70=>array(0,30,29,29,30,29,30,30,29,30,30,29,30,0,7,11),
   71=>array(5,29,30,29,29,30,29,30,29,30,30,30,29,30,8,12),
   72=>array(0,29,30,29,29,30,29,30,29,30,30,29,30,0,9,1),
   73=>array(0,30,29,30,29,29,30,29,29,30,30,29,30,0,10,2),
   74=>array(4,30,30,29,30,29,29,30,29,29,30,30,29,30,1,3),
   75=>array(0,30,30,29,30,29,29,30,29,29,30,29,30,0,2,4),
   76=>array(8,30,30,29,30,29,30,29,30,29,29,30,29,30,3,5),
   77=>array(0,30,29,30,30,29,30,29,30,29,30,29,29,0,4,6),
   78=>array(0,30,29,30,30,29,30,30,29,30,29,30,29,0,5,7),
   79=>array(6,30,29,29,30,29,30,30,29,30,30,29,30,29,6,8),
   80=>array(0,30,29,29,30,29,30,29,30,30,29,30,30,0,7,9),
   81=>array(0,29,30,29,29,30,29,29,30,30,29,30,30,0,8,10),
   82=>array(4,30,29,30,29,29,30,29,29,30,29,30,30,30,9,11),
   83=>array(0,30,29,30,29,29,30,29,29,30,29,30,30,0,10,12),
   84=>array(10,30,29,30,30,29,29,30,29,29,30,29,30,30,1,1),
   85=>array(0,29,30,30,29,30,29,30,29,29,30,29,30,0,2,2),
   86=>array(0,29,30,30,29,30,30,29,30,29,30,29,29,0,3,3),
   87=>array(6,30,29,30,29,30,30,29,30,30,29,30,29,29,4,4),
   88=>array(0,30,29,30,29,30,29,30,30,29,30,30,29,0,5,5),
   89=>array(0,30,29,29,30,29,29,30,30,29,30,30,30,0,6,6),
   90=>array(5,29,30,29,29,30,29,29,30,29,30,30,30,30,7,7),
   91=>array(0,29,30,29,29,30,29,29,30,29,30,30,30,0,8,8),
   92=>array(0,29,30,30,29,29,30,29,29,30,29,30,30,0,9,9),
   93=>array(3,29,30,30,29,30,29,30,29,29,30,29,30,29,10,10),
   94=>array(0,30,30,30,29,30,29,30,29,29,30,29,30,0,1,11),
   95=>array(8,29,30,30,29,30,29,30,30,29,29,30,29,30,2,12),
   96=>array(0,29,30,29,30,30,29,30,29,30,30,29,29,0,3,1),
   97=>array(0,30,29,30,29,30,29,30,30,29,30,30,29,0,4,2),
   98=>array(5,30,29,29,30,29,29,30,30,29,30,30,29,30,5,3),
   99=>array(0,30,29,29,30,29,29,30,29,30,30,30,29,0,6,4),
   100=>array(0,30,30,29,29,30,29,29,30,29,30,30,29,0,7,5),
   101=>array(4,30,30,29,30,29,30,29,29,30,29,30,29,30,8,6),
   102=>array(0,30,30,29,30,29,30,29,29,30,29,30,29,0,9,7),
   103=>array(0,30,30,29,30,30,29,30,29,29,30,29,30,0,10,8),
   104=>array(2,29,30,29,30,30,29,30,29,30,29,30,29,30,1,9),
   105=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,2,10),
   106=>array(7,30,29,30,29,30,29,30,29,30,30,29,30,30,3,11),
   107=>array(0,29,29,30,29,29,30,29,30,30,30,29,30,0,4,12),
   108=>array(0,30,29,29,30,29,29,30,29,30,30,29,30,0,5,1),
   109=>array(5,30,30,29,29,30,29,29,30,29,30,29,30,30,6,2),
   110=>array(0,30,29,30,29,30,29,29,30,29,30,29,30,0,7,3),
   111=>array(0,30,29,30,30,29,30,29,29,30,29,30,29,0,8,4),
   112=>array(4,30,29,30,30,29,30,29,30,29,30,29,30,29,9,5),
   113=>array(0,30,29,30,29,30,30,29,30,29,30,29,30,0,10,6),
   114=>array(9,29,30,29,30,29,30,29,30,30,29,30,29,30,1,7),
   115=>array(0,29,30,29,29,30,29,30,30,30,29,30,29,0,2,8),
   116=>array(0,30,29,30,29,29,30,29,30,30,29,30,30,0,3,9),
   117=>array(6,29,30,29,30,29,29,30,29,30,29,30,30,30,4,10),
   118=>array(0,29,30,29,30,29,29,30,29,30,29,30,30,0,5,11),
   119=>array(0,30,29,30,29,30,29,29,30,29,29,30,30,0,6,12),
   120=>array(4,29,30,30,30,29,30,29,29,30,29,30,29,30,7,1)
   );
   
   $cdate_tianganarray=array("null","Jia","Yi","Bing","Ding","Wu","Ji","Geng","Xin","Ren","Kui");
   
   $cdate_dizhiarray=array("null","Zi","Chou","Yin","Mao","Chen","Si","Wu","Wei","Shen","You","Xu","Hai");
                  
   $cdate_zodiacarray=array("null","Rat","Ox","Tiger","Rabbit","Dragon","Snake","Horse","Sheep","Monkey","Rooster","Dog","Pig");
            
   $cdate_total=11;
   $cdate_cntotal=0;



   for ($y=1901;$y<$year;$y++){
      $cdate_total+=365;
      if ($y%4==0) $cdate_total ++;
   }

   switch ($month){
      case 12:
           $cdate_total+=30;
      case 11:
           $cdate_total+=31;
      case 10:
           $cdate_total+=30;
      case 9:
           $cdate_total+=31;
      case 8:
           $cdate_total+=31;
      case 7:
           $cdate_total+=30;
      case 6:
           $cdate_total+=31;
      case 5:
           $cdate_total+=30;
      case 4:
           $cdate_total+=31;
      case 3:
           $cdate_total+=28;              
      case 2:
           $cdate_total+=31;              
   }  

   if ($year%4==0 and $month>2){
      $cdate_total++;
   }

   $cdate_total = $cdate_total+($day-1);

   $myeardiff = $year-1900;

   for ($x=0;$x<=$myeardiff;$x++){
   	for ($y=1;$y<=13;$y++){
   		if ($cdate_cntotal<$cdate_total){
   		$cdate_cntotal+=$cdate_monthdata[$x][$y];
   		$cdate_cnyear = $x;
   		$cdate_cnmonth = $y;
   		}
   	}
   }

   if (($cdate_cnmonth==$cdate_monthdata[$cdate_cnyear][0]+1)&&($cdate_monthdata[$cdate_cnyear][0]>0)) {
      $cdate_leap=1;
      }else{
      $cdate_leap=0;
   }
   
   $cdate_cnday=$cdate_monthdata[$cdate_cnyear][$cdate_cnmonth]-($cdate_cntotal-$cdate_total);
   
   if (($cdate_monthdata[$cdate_cnyear][0]>0)&&($cdate_monthdata[$cdate_cnyear][0]<$cdate_cnmonth)) {
      $cdate_cnmonth = $cdate_cnmonth-1;
   }
   
   $cdate_tiangan = $cdate_tianganarray[$cdate_monthdata[$cdate_cnyear][14]];
   $cdate_dizhi = $cdate_dizhiarray[$cdate_monthdata[$cdate_cnyear][15]];
   $cdate_zodiac = $cdate_zodiacarray[$cdate_monthdata[$cdate_cnyear][15]];
   $cdate_cnyear += 1900;
   
   $cdate_result = array($cdate_cnyear,$cdate_cnmonth,$cdate_cnday,$cdate_leap,$cdate_tiangan,$cdate_dizhi);
   
   return $cdate_result;
   
   }
   
	public static function getTimeAgo($time_stamp){
		$today = getdate();
		$mday = $today['mday'];
		$year = $today['year'];
		//echo intval(date('d',$time_stamp)) + 1 ;die();
		if($mday > (intval(date('d',$time_stamp)) + 1)){ // Nếu khoảng time > 2 ngày về trước
		$year_cmt = (date('Y',$time_stamp) == $year) ? '' : ' năm ' . date('Y',$time_stamp);

		return date('d',$time_stamp) . ' tháng ' . date('m',$time_stamp) . $year_cmt . ' lúc ' . date('H:i',$time_stamp);
		}
		if($mday > intval(date('d',$time_stamp))){ // Nếu time là ngày hôm qua
		return 'Hôm qua lúc ' . date('H:i',$time_stamp);
		}
		if($mday == date('d',$time_stamp)){ // Nếu trong một ngày
		$sec_ago = time() - $time_stamp;
		if($sec_ago < 60){ // Nếu trong một phút
		   return 'Vừa xong';
		}
		else if($sec_ago < 3600){ // Nếu trong một giờ
		   return floor($sec_ago/60) . ' phút trước';
		}
		return floor($sec_ago/3600) . ' giờ trước';

		}
		return date('d/m/Y H:i',$time_stamp); // Cac truong hop con lai
	}
}
?>